package cn.exrick.xboot.modules.graphics.enums;

import cn.exrick.xboot.common.annotation.ExpEnumType;
import cn.exrick.xboot.common.constant.SysExpEnumConstant;
import cn.exrick.xboot.common.exception.abs.AbstractBaseExceptionEnum;
import cn.exrick.xboot.factory.ExpEnumCodeFactory;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: njp
 * @Date: 2020/09/08/15:13
 * @Description:
 */
@ExpEnumType(module = SysExpEnumConstant.PORTAL_SYS_MODULE_EXP_CODE,kind = SysExpEnumConstant.SYS_APP_EXCEPTION_ENUM)
public enum GraphicsPageExceptionEnum implements AbstractBaseExceptionEnum {

    /**
     * 界面不存在
     */
    GRAPHICS_NOT_EXIST(1, "界面不存在"),

    /**
     * 界面已被删除
     */
    GRAPHICS_CANNOT_DELETE(2, "界面已被删除"),

    /**
     * 保存界面布局数据失败
     */
    GRAPHICS_CANNOT_ADD(3, "保存界面布局数据失败"),
    /**
     * 容器不存在
     */
    CONTAINER_NOT_EXIST(4, "容器不存在"),
    /**
     * 界面状态变更失败
     */

    GRAPHICS_CANNOT_EDIT_STATUS(5, "界面状态变更失败"),
    /**
     * 界面状态变更失败
     */
    GRAPHICS_PARAM_ID(6, "ID不为空"),
    /**
     * 组织下未设置界面
     */
    GRAPHICS_ORG_NOT_EXIST(7, "组织下未设置界面"),

    CONTAINER_PARAM_TITLE_ISNULL(8,"标题不能为空"),
    CONTAINER_PARAM_CONTENT_ISNULL(9,"地址标识不能为空"),
    /**
     * 不能删除使用中界面
     */
    GRAPHICS_IS_USE_CANNOT_DELETE(10, "不能删除使用中界面"),
    /**
     * 容器被界面使用不能删除
     */
    CONTAINER_IS_USE_CANNOT_DELETE(11, "容器被界面使用不能删除");
    private final Integer code;

    private final String message;

    GraphicsPageExceptionEnum(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
    @Override
    public Integer getCode() {
        return ExpEnumCodeFactory.getExpEnumCode(this.getClass(), code);
    }

    @Override
    public String getMessage() {
        return message;
    }
}
